import java.util.Scanner;

public class Mounstro implements Runnable {
	private Almacen almacen;
	private String nombre;

	public Mounstro(Almacen almacen,String nombre) {
		this.almacen = almacen;
		this.nombre=nombre;
	}

	@Override
	public void run() {
		comerGalletas();
	}

	public void comerGalletas() {
		while (this.almacen.isSeguirJugando()) {
			synchronized (almacen) {
			
				if (this.almacen.getCookies() != 0 && this.almacen.isSeguirJugando()) {
					System.out
							.println(nombre+" dice:¿¿¿ Cuantas galletas me comere ??? MUAHAHAHAHA ");

					Scanner sc = null;
					/** Podemos sustitir el while por un Ramdom de 1 a 10**/
					int GalletasPorComer = -1;
					while (GalletasPorComer < 0) {
						sc = new Scanner(System.in);
						GalletasPorComer = sc.nextInt();
					}
					if ((this.almacen.getCookies() - GalletasPorComer) >= 0) {
						this.almacen
								.setCookies((this.almacen.getCookies() - GalletasPorComer));
						for(int i =0;i<GalletasPorComer;i++)
							System.out.print("!Traga ");
						System.out.println();
						try {
							almacen.notifyAll();
							almacen.wait(GalletasPorComer);
						} catch (InterruptedException e) {
						}
					} else {
						System.out
								.println("N0 h@y tant@s g@llet@s P@ c0merm3  T3rric0l@ !!!!");
						try {
							almacen.notifyAll();
							almacen.wait(GalletasPorComer);
						} catch (InterruptedException e) {
						}
					}

				} else if (!this.almacen.isSeguirJugando()){
					
					System.out.println("Fin del juego se interrumpe "+nombre);
					almacen.notifyAll();
					Thread.interrupted();
				}
					
				
					

			}
		}
		System.out.println("Fin del juego se muere "+nombre);
	}

}
